import { Link, Warning } from '@brillout/docpress'

Environment: browser.

By using `prefetch('/some/url')` you can programmatically prefetch pages.

<Warning>`prefetch()` works only with <Link text="Client Routing" href="/client-routing" />. Prefetching isn't possible with <Link text="Server Routing" href="/server-routing" />.</Warning>

Using `prefetch()` enables you to speed up page navigation when you can predict what the next page will (most likely) be.

For example:

```jsx
import { prefetch } from 'vike/client/router'

function Form() {
   return (
     <form onSubmit={onSubmit}>
       {/* ... */}
     </form>
   )
}

async function onSubmit() {
  // Fetch the next page
  prefetch('/form/success')
  // In parallel, make a request to the server
  await someRequestToServer()
  // The assets of the next page may already be fetched at
  // this point, before even calling navigate()
  await navigate('/form/success')
}
```
